System and method for custom service markets

ABSTRACT

Methods and systems for providing custom services are disclosed. A developer interface provides standards, such as an application platform interface, for developers to use to make and test applications and services. A user interface can access downloadable or hosted services or applications to multiple users, such as, merchants, banks and networks. The system can then provide custom individual or packages of services to users based on the services requested by the user and charge the user for them on a subscription or per-use basis.

CROSS-REFERENCES TO RELATED APPLICATIONS

This Application is a continuation application of U.S. patentapplication Ser. No. 13/225,231 filed on Sep. 2, 2011, which claimspriority to U.S. Provisional Patent Application No. 61/380,117, titledFINANCIAL SERVICES STORE, filed on Sep. 3, 2010. This Application isalso related to and claims priority to U.S. Non-Provisional patentapplication Ser. No. 13/780,391, titled, Gateway Abstraction Layer,filed on Jul. 11, 2011, which claims priority to U.S. Provisional PatentApplication No. 61/362,872, titled GATEWAY ABSTRACTION LAYER, filed onJul. 9, 2010. These provisional and non-provisional applications arehereby incorporated by reference in their entirety for all purposes.

BACKGROUND

Users, such as independent and corporate merchants, use various servicesto accept and process payments and other financial transactions.Merchants that fail to adopt popular financial services, or decide tooperate on a “cash only” basis, may lose out on potential businessbecause many potential consumers prefer to conduct transactions usingcredit, debit, ATM and gift cards, as well as other forms of non-cashtransactions. The ability to run a profitable business can hinge on amerchant's ability to accept as many forms of payment and conduct asmany types of transactions as possible.

However, due to the subscription and/or transaction costs associatedwith accepting each brand or type of payment or financial serviceoffered by various networks, gateways or processors, some merchants willelect to accept and process only a small portion of the availableservices from a limited number of the available networks, gateways,processors or other service providers. For example, an independentonline merchant may find the cost of accepting all of the payment orfinancial services offered by Visa™, MasterCard™, American Express™,Discover™, and other brands of services, prohibitively expensive. Inaddition to the direct costs and fees associated with subscribing to orusing the various payment networks, there are additional incrementaloverhead costs associated with each additional payment network adoptedby a merchant.

For example, each payment network or service can have separate anddistinct compliance, operational and maintenance requirements. Eachservice provider typically includes its own unique set of practices andprocedures with which the merchant must comply in order to use aparticular service from a particular service provider. Currently, thereis no standard communication protocol for interacting with networks,gateways, processors and other service providers. Accordingly,integrating and managing the requisite procedures and practices for eachservice a merchant uses adds additional operating costs in the form ofadditional head count or in the form of the merchant's or the merchant'semployee's time.

Subscribing to multiple services or services providers requires keepingup with different transaction request formats, interface standards,connectivity models, and reporting, settlement and reconciliationprocedures required by each service provider. Managing the variousrequirements can easily overwhelm the capabilities and resources of somemerchants and can cause merchants, especially smaller merchants, tolimit the total number of services to which they subscribe or use, and,consequently, the number of payment forms they accept.

When a merchant limits the number of services it uses, not only might itlose business to other merchants that take more varied forms of payment,it effectively limits the number and types of ancillary services towhich it has access. For example, a merchant may choose to accept Visa™and Mastercard™ credit cards to capture the largest share of potentialcardholder sales, but may know that it would benefit from fraud and riskservices offered by another payment network or third-party serviceprovider to which it has no access. Currently, there is no way for amerchant, small or otherwise, to quickly and cost effectively customizethe ancillary service it receives when they subscribe to a particularpayment network, gateway or processor.

Similarly, there is no efficient and effective framework or market placefor third-party financial service providers to offer specialized orcustom services to merchants before, during and after a transaction isrequested, processed or completed between a merchant and its customersor other merchants. Likewise, there is no mechanism for one brandednetwork to offer its particular selection of value-add services in anon-demand or a la carte manner.

Embodiments of the present invention address these and otherdeficiencies.

BRIEF SUMMARY

Embodiments of the present invention include methods for providing acustom service market to service providers and developers, as well aspotential users of such services who conduct various electronictransactions and communications, a market place for buying and sellingspecific services or products that can directly or indirectly benefit,support or enable their particular electronics transaction andcommunication needs. Exemplary users of such embodiments can includecredit card issuers, merchants, and payment processors. Users can selectservices on a piece-meal basis or select from a variety of prepackagedservices collected by one or more service providers or developers.Accordingly, the custom service stores can provide greater flexibilityand choice for users, while also creating an widely accessible marketthrough which to quickly, easily and cost effectively publish anddistribute their products and services directly to users.

Various embodiments can include providing a service provider interfaceon a server computer, through which the server computer can receive viaa first electronic communication medium in a first electronic formatcomputer readable code from a service provider or developer. Thereceived computer readable code can then be published on a servicesstore interface. The services store interface can include a websitehosted on the server computer. Using the service store interface, theserver computer can then receive via a second electronic communicationmedium a service request message in a second electronic formatspecifying or subscribing to a service.

Other embodiments include converting the service request message fromthe second electronic format to a third electronic format using theserver after receiving the service request message. Once all the servicerequest message is received and possibly translated from one format toanother, the method can further include transmitting the computerreadable code or application from the server computer to the user clientdevice, such a merchant server computer, client computer orpoint-of-sale (POS) device. Before the computer readable code orapplication is transmitted to the client device, various methods of thepresent invention include converting the computer readable code from thefirst electronic format to a fourth electronic format. This allows forthe addition of specific digital rights management protocol or algorithmto be added to the computer readable code. The method can also includecharging the requesting user on a per-use or subscription basis for theuse of the service in response to the service request message.

In yet other embodiments, the method can include executing the computerreadable code using the server computer to provide a service in responseto the service request message. In such embodiments, executing thecomputer readable code can include hosting the service on the servercomputer in response to the service request message. The service canthen be invoked using Software as a Service (SaaS) calls. Suchembodiments can also include charging the user on a per-use orsubscription basis in response to the service request message that caninclude a SaaS call.

Other embodiments of the present invention include systems for providinga custom service market comprising. Such systems can include a servercomputer having a processor, a first network interface couple to theprocessor, a second network interface couple to the processor, and amemory coupled to the processor. The memory can include computerreadable instructions that when executed by the processor performs amethod for facilitating custom service markets. In such embodiments, thememory can include computer readable instructions for providing aservice provider interface over the first network interface, receivingvia a first electronic communication medium in a first electronicformat, over the service provider interface, a computer readable codefrom a service provider, publishing the received computer readable codeon a services store interface on the server computer, providing a userinterface over the second network interface, and receiving at the servercomputer via a second electronic communication medium in a secondelectronic format over the user interface a service request message froma user client device.

In related embodiments the memory can also include computer readableinstructions for converting the service request message from the secondelectronic format to a third electronic format after receiving theservice request message before transmitting, in the computer readablecode to the user client device over the second network interface. Thesystem can also include computer readable instructions for convertingthe computer readable code from the first electronic format to a fourthelectronic format before transmitting the computer readable code to theuser client device. The system can also include capabilities forcharging the user on a per-use or subscription basis in response to theservice request message.

In other embodiments, the system execute the computer readable code thatit receives from the service providers or developers on one or moreservers to provide a particular service to users. In such embodiments,the system can host the service on the server computer, and provide theservice to user in response to the service request messages that caninclude Software as a Service (SaaS) calls to invoke the computerreadable code executed on the server computer. Such implementations canalso include charging the user on a per-use or subscription basis inresponse to the service request message.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system for providing custom services or applicationsaccording to various embodiments of the present invention.

FIG. 2 is a system for providing custom services or applicationsaccording to various embodiments of the present invention.

FIG. 3 is a schematic of services storefront resources according tovarious embodiments of the present invention.

FIG. 4 is a schematic of services storefront resources according tovarious embodiments of the present invention.

FIG. 5 is a schematic of services storefront resources according tovarious embodiments of the present invention.

FIG. 6 is a schematic of services storefront resources according tovarious embodiments of the present invention.

FIG. 7 is a schematic of services storefront resources according tovarious embodiments of the present invention.

FIG. 8 is a flowchart of methods for certifying custom services andapplications according to various embodiments of the present invention.

FIG. 9 is a schematic of a system for providing transaction or financialservices according to various embodiments of the present invention.

FIG. 10 is a schematic of a system for providing transaction orfinancial services according to various embodiments of the presentinvention.

FIG. 11 is a schematic of a system for providing transaction orfinancial services according to various embodiments of the presentinvention.

FIG. 12 is a schematic of a system for providing transaction orfinancial services according to various embodiments of the presentinvention.

FIG. 13 is a schematic of a computer system that can be used toimplement various embodiments of the present invention.

DETAILED DESCRIPTION

Embodiments described herein are directed toward computer and networkimplemented systems and methods for providing customized and standardservices for electronic transactions and other electronic, computerizedor automated services. Such services can include, but are not limitedto, purchase payments, fund transfers, refunds, cash transfers, bankingtransactions, as well as risk and fraud analysis, prediction andmanagement. While the examples described herein are in reference tovarious types of financial transactions, such as credit and debit cardpayment transaction, it should be understood that embodiments of thepresent invention can be applied to any other type of electronicinteraction between two or more entities that requires the entities touse networked computers, server computers or other computing devices tocommunicate using more than one type of electronic communicationprotocol, medium or standard. As such, the examples described herein areintended to be illustrative only and not limiting of on the invention.

Embodiments of the present invention include systems and methods fordeveloping, testing, selling, hosting or distributing direct, supportingand related, customized electronic, financial, communication ortransaction related applications or services. Some embodiments aredirected toward a system that can be incorporated into or connect to agateway abstraction layer server or an abstraction layer in separate orrelated financial or transaction system and/or server. In suchembodiments, the system can provide in-line services to users, such asmerchants, by communicating via an abstraction layer, or otherapplication platform interface, in a financial or transaction systemserver or transaction gateway using a predefined or standardizedcommunication or interface protocol provided by the server to one ormore service providers. In some embodiments, the service providers caninclude application developers.

In some embodiments, the system can include various forms of standaloneor hosted software applications or software service calls for providingfinancial services, transaction services or other electronic services.The system can also include development tools for service providersincluding software development tools and application interfacecompliance protocols or standards. The transaction or financial servicesand the development tools can be incorporated into a single servercomputer or separated into various connected server computers forsecurity, efficiency, load balancing or other optimizations.

As used herein, the terms transaction services, financial services orother analytical or support services can be used interchangeably torefer to these and other services provided by server computers, softwareapplications or systems according to various embodiments of the presentinvention. The term “services” will be used herein to refer to any ofsuch services.

FIG. 1 is a simplified diagram of a system 100 for providing customservices according to various embodiments of the present invention.Custom services server 101 of system 100 can include or, as shown,connect to a number of integrated or separate elements or entitiesincluding, but not limited to, developers 121, merchants 123, gateways125, processors 127. In some embodiments, developers 121, merchants 123,gateways 125, processor 127 can connect to the custom services server101 via a variety of open and proprietary communication protocols. Forexample, the developers 121, merchants 123, gateways 125, processors 127can connect to the custom service server 101 via the Internet, wirelessnetworks based on 3G, 4G, 802.11x, or WiMax protocols or wired networkssuch as Ethernet or VisaNET™. Each communication used by each ofdevelopers 121, merchants 123, gateways 125, processors 127 can be thesame or different. Once developers 121, merchants 123, gateways 125,processors 127 are connected to custom services server 101, each canconnect to and communicate with any of the components, elements orentities within the server or connected to the server.

Accordingly, each of the components of system 100 and custom server 101in FIG. 1 can be communicatively coupled to any of the other componentsof the system 100 over an electronic communication medium suitable forconducting efficient and/or secure communications. Furthermore, any ofthe components in custom server 101 can be incorporated into one or moreof the other components. The components of system 100 can be implementedin hardware, firmware, software or a combination thereof. For example,each component in FIG. 1 can be specially designed, manufactured, orprogrammed application specific integrated circuits (ASICs), a fieldprogrammable gate arrays (FPGAs), microprocessors, programmed computerservers, or other computing devices. Each of the components of FIG. 1can be configured to generate, transmit, receive, process, parse,convert, or translate electronic communications in and via variouscommunication protocols, standards and formats.

For example, each component in FIG. 1 can communicate using electronicor digital messages, such as advanced message queuing protocols (AMQP)that can include open or opaque binary large object (BLOb) messages fortransmitting and receiving messages amongst the various components. Insome embodiments, the use of BLOb messages or payloads can be used tomake indications or references to other protocols, so that some messagescan include codes or identifiers that can reference a table or databaseto indicate longer or larger messages that would otherwise be toounwieldy or impossible for some legacy networks and systems to transmit,receive, parse, convert, translate or otherwise use. In relatedembodiments, any communication or between the entities in the system 100can include various digital-rights-management (DRM) features to protectthe messages, computer readable code or applications associated with,derived from, received from, or transmitted to other entities orcomponents, from unauthorized use, transmission or distribution. In someembodiments, applying or including DRM features can require convertingthe computer readable code or application from one format to another. Inother embodiments, applying DRM can include packaging or encapsulatingthe computer readable code or application using a separate applicationthat locks or blocks the use of the application unless a user has anauthorized verification, subscription or license code.

Such referential messaging or communication capability, such as BLObmessaging, that refers to larger messages or codes, can be provided byor facilitated by the gateway abstraction services component 120,processor abstraction services component 130, secure services hostingcomponent 115, services store component 110, developer center component140, gateway on-boarding component 150, or processor on-boardingcomponent 160. In addition to the ability to refer to larger or morecomplex message contents or payloads, the referential messaging can alsofacilitate legacy messaging formats used by existing or legacy messagingformats and systems used by established gateways 125, processors 127 orissuers 129 connected to on-boarding and integration component 240 shownin FIG. 2. Such capability can further increase the utility of thesystem by allowing it act as an effective change buffer that can shelteror shield each of the individual components of system 100 fromoccasional or periodic changes made any one or more of the othercomponents in the system. When one component makes a change tooperational or messaging requirements or functionality, on the referencetable or database that is tasked with providing the appropriateconverted, translated or referenced message needs to change for eachcomponent to be able to communicate with the other components in system100.

Developer 121 can include any number of service providers who developsoftware, including full or partial executable code for providing orsupporting any number of services to other components of system 100 orcustomer service server 101. The applications and services can include,but are not limited to, security and analytical services such asfraud/risk management, market analysis, identity authentication andtransaction analysis. The developers 121 can use resources included indeveloper center component 140.

Developer center component 140 can include tools and services tofacilitate the development of services by the developers 121. The toolsand services included in developer center component 140 can includeapplication platform interfaces (APIs), abstraction layer protocols orapplication guidelines and testing tools. Such tools and services caninclude various software development kits for a variety of programminglanguages including, but not limited to, C, C+, C++, XML, Java™, VisualBasic™, Ruby, Ruby on rails, etc. The testing tools included in thedeveloper center can include procedures, processes and sample code fortesting and certifying various complete and partial softwareapplications and code for providing financial or transaction services toother components in and users of system 100 or custom services server101. Any and all of the tools and services of Developer center component140 can be provided by any of the components of system 100, includingtools and services provided by gateways, or payment service providers,G1, G2, G3 . . . Gn. In such embodiments, the developer center component140 can provide or publish links the developer tools hosted

As shown, many gateways can be connected to customer service server 101via the gateway abstraction service component 120. Similarly, any andall of the tools and services of can be provided by payment processors,P1, P2, P3 . . . Pn. As shown, many processors can be connected tocustom service server 101 via the processor abstraction servicecomponent 130. Both gateway abstraction service component 120 andprocessor abstraction service component 130 can include varioustranslation or conversion definitions, capabilities and functions toconvert or translate messages, such as transaction requests, from thenative format of the individual gateways and processors into a canonicalformat usable by other component of system 100 or custom services server101.

In some embodiments, the developer center component 140 can include auser interface to provide users and developers access to the tools andservices included in developer center component 140. In variousembodiments, the user interface can include a web-based interface, thatcan be accessed via the Internet or other network, through which usersand or developers 121 can access the tools and information regarding thetools included in developer center component 140.

In yet other embodiments, the developer center component 140 can includetest routines that can be run by the developers, components of system100 or other entities/user connected to system 100 or customer servicesserver 101. Developer center component 140 can be implemented insoftware, firmware hardware or a combination thereof, as describedabove. For example, developer center component 140 can be a web sitehosted on a web server or it can be HTML code hosted on a servercomputer or included in as a segment of the code in services storeinterface 110. The full or partial code can include computer or machinereadable code that can be executed on a computing processor, a computeror other computing device.

Developer center component 140 can include application code that can beexecuted on a processor to simulate a remote computer or server computerthat sends information to or receives information/requests from anapplication the developer builds. For example, a simulated servercomputer can act as a gateway abstraction layer used in variousembodiments of the present invention to process transaction requests,such as credit card requests, to test sending and receiving data to theapplication being tested.

The services store component 110 can include an interface to provideaccess to services provided by developers 121. The services storecomponent 110 can include a web-based interface to present merchants123, gateways 125 or processors 127 with a variety of services and meansfor selecting, subscribing, purchasing or otherwise using the services.In such embodiments, services store component 110 can includeinformation, such as specifications, marketing material, descriptionsand instructions with which to reference the services and applicationsavailable in the services store component 110. In other embodiments, theservices store component 110 can include icons with which individualservices/applications can be displayed and/or selected.

The selectable services can include a number of services provided by oneor more developers component 121. In some embodiments, the services areprovided as standalone or downloadable applications or computer readablecode executable on a user's or merchant's client computer, point ofservice terminal, portable computing device or online store. In otherembodiments, services store component 110 can include an option to havesystem 100 or custom services server 101 host and or run theservices/application selected in services store component 110, secureservices hosting component 115 or other component. Each service can beinvoked in response to a service request message from one or more users,such as merchants, processor, acquirers, issuers, or other entity orcomputing device. In some embodiments, a user can include in a servicerequest message a request or instruction to download the application orcomputer readable code to a computing device at the user's locationand/or have the service application or computer readable code executedor hosted on the services store component 110 or the custom servicesserver 101. In such embodiments, it is possible to have the applicationor computer readable code downloaded and/or running on the user's localcomputing device and the custom service server 101 to provideflexibility, scalability, and redundancy into a user's ability toaccess, use or provide a particular service. In any of such embodiments,the custom service server 101 can charge or accept payment for access tothe server and the computer readable code on a per use or subscriptionbasis.

In related embodiments, a client computing device can displayinformation provided by the custom services server 101 to a user. Thedisplayed information can in be in the form of a website, i.e. HTMLcode. The information can be in a form of a website with a graphical ortext user interface. The user interface can display to the user on theclient computing device, such as a personal computer, graphical ortextual representations of a plurality of available published computerreadable code, i.e. applications, received from various serviceproviders, i.e. icons or text descriptions. The user can then use theclient computing device to select a plurality of the computer readablecode via the user interface to create a custom and integrated financialservice solution. In some embodiments, the user, using the clientcomputing device and the user interface displayed thereon, can select,delete, change, and alter the plurality of applications, as well asspecify whether the applications that to be downloaded to the user'sclient computing device, the user's remote server, or hosted on thecustom service server 101. The user can use the client computing deviceto choose to include a variety of downloaded and remotely hostedapplications included in it selected custom and integrated financialservices solution. The client computing device, via the user interface,can then send one or more service request messages to the customservices server 101 to initiate the downloads or activate the hostedapplications.

Secure services hosting component 115 can selectively host full orpartial versions of services and applications provided by developers121. In some embodiments, secure services hosting component 115 can beconnected to and make direct and indirect calls to applications and codein service store 110 and developer center 140. In various embodiments,services provided by developers 121 and other third-party serviceproviders can be accessed by transaction authorization requests frommerchants 123, gateways 125 or processors 127 and/or access transactionand financial information from such transaction authorization requestsvia the gateway abstraction services component 120. A full descriptionof the gateway abstraction services component 120, also referred to as agateway abstraction layer or gateway abstraction layer gateway, can befound in United State Non-Provisional patent application Ser. No.13/780,391, titled, GATEWAY ABSTRACTION LAYER, filed on Jul. 11, 2011,which claims priority to U.S. Provisional Patent Application No.61/362,872, entitled GATEWAY ABSTRACTION LAYER, filed on Jul. 9, 2010,both of which are hereby incorporated by reference.

Merchants 123 can include any type of entity that participates,initiates or otherwise uses various forms of electronic communicationsor transactions, such as electronic credit card authorization andauthentication requests. Merchants 123 can include traditionalbrick-and-mortar and online retailers, business-to-business wholesalers,manufacturers and other sellers. For example, merchants 123 can includean online retailer who wishes to accept various forms of credit card ordebit card payments. The online retailer can use various components ofcustom services server 101 to customize its customers' purchasingexperience using various marketing, payment and security featuresprovided by developers 121 by selecting or ordering such services usingthe services store component 110. In some embodiments, merchantscomponent 123 can select services from services store component 110 on atrial, temporary or permanent basis.

Similarly, gateways 125 and processors 127 can also select or otherwiseuse services provided by developers 121 using the services storecomponent 110. Gateways 125 can include any number of intermediarytransaction facilitators or transaction servers which provide access tosystem 100 or customer services server 101 to one or more entities toprocess various transactions or provide various services. Gateways 125can include communication or transaction servers that communicate withand translate between various merchants, banks, issuers, acquirers, etc.Gateways 125 can also include acquiring payment gateways, and acquiringand issuing banks used to handle, service or otherwise hold consumerfinancial transaction accounts, such as credit card and debit accounts.

Processors 127 can include payment and other transaction computers,servers or services that handle various service requests in the form ofservice request messages from multiple merchants to conduct businesswith or process authorization request messages to one or more brandedpayment networks. Processors 127 can include services such as CyberSource™ or PayPal™

FIG. 2 is a schematic of a system or server computer 200 that includesvarious embodiments of the present invention. For example, servercomputer 200 can include various components implemented in software,hardware or a combination thereof. The components can include amembership services component, a payment solutions store component 220,an analytics services component 230, an on-boarding an integrationcomponent 240, value added messaging services 250, and an applicationand data hosting services component 260. Each component of servercomputer or system 200 can include other subcomponents or be integratedinto one or more of the other components shown.

Services solutions store 220 can be a software component or a servercomputer that can also include a number of subcomponents, such asstorefront 203, developer center and online resources 205 and embeddedapplication distribution 207. Services solutions store 220 can includecomputer readable media, such as a hard disk or other memory, containingcomputer readable code adapted to be run on a processor to executevarious services and functions. For example, services solutions store220 can include a user interface in the storefront 203 that allowsvarious users and/or merchants to log-on, browse, select, change,subscribe to, purchase or otherwise interact with the services providedin services solutions store 220 provided by various third-partydevelopers and service providers. For example, storefront 203 can be awebsite, secured or unsecured, onto which a user can log-on to initiateor change the transaction services to which it subscribes for processingcredit card transactions. Such services can include specific fraudalgorithms/services as well as implementations of loyalty programsspecifically targeted to the business in which the user engages.

The services solutions store 220 can also include a developer center andonline resources component 205. The developer center and onlineresources component 205 can include the tools and development kitsdescribed above in reference to FIG. 1. Like the storefront 203,developer center and online resources component 205 can include a userinterface that can be used by developers to browse, select or downloadvarious development tools provided by the computer server or system 200.The development tools can include application platform interface (API)protocols and communication standards as well as instructions foroperating as a certified or non-certified service provider.

Embedded application distribution system 209 can include a userinterface, such as a website or gateway. In other embodiments the userinterface can communicate with a downloadable storefront application runon a remote user client computer or computing device. The user clientcomputer or computing device can be equipped or configured tocommunicate with the application distribution system 209, the servicessolution store 220, or storefront 203 over one or more electroniccommunications medium. In each of such embodiments, the user interfacecan distribute transaction service applications to merchants and otherusers for execution on remote clients computing devices or servercomputers. In such embodiments, the applications can include bothcomplete and fully executable applications or code segments that makecalls for retrieving software as a service (SaaS) based transactionservices. In such embodiments, user who send the SaaS calls can becharged based on a subscription, per use, percentage of a particulartransaction basis each time they make a call to the service.

Application and data hosting services 260 can include tools andcommunication protocols for communicating with developers 123, gateways125, processors and issuers. Application and data hosting services 260can also provide an environment in which developers 123, gateways 125,processors and issuers can remotely run various services or applicationspurchased using the services solutions store 220. In such embodiments,server computer or system 200 can undertake the computationalrequirements and data handling required for completing the applicationsor services selected. In such hosted solutions, the burden on thesubscribing user or merchant is greatly reduced while also increasingthe availability of a larger selection of possible services andcapabilities provided by third-party service providers and developers.

For example, application and data hosting services 260 can include inapplication hosting component, a SaaS integration component, a gatewayservices integration component, a secure transaction data service ordatabases, a processor services integration component and an issuerservices integration component. Each integration component of theapplication and data hosting services component 260 can communicate withother components of the system or server computer 200 over one or moreof the value added messaging services. The value added messagingservices 250 can include messaging for solutions store integrationservices, gateway integration messaging services, processor integrationmessaging services and issuer integration messaging services. Each ofthe services in the value added messaging services 250 can includecommunication standards and protocols for translating various messagesand communications between the components of the server computer orsystem 200.

Value added messaging services 250 can use the referential messagingsystem as described herein. By accepting legacy and newly defined BLObmessages or payloads, the value added messaging services 250 can receivemessages a BLOb message and either forward or transmit it on to one moreother components of server computer 200, or translate or convert theBLOb message before forwarding or transmitting the translated ofconverted message in a canonical or proprietary message format to onemore other components of server computer 200.

Analytics services component 230 can offer various advertising,marketing, security, fraud and risk management programs, algorithms andapplications in both the standard and ad hoc configurations. Analyticsservices component 230 can also call on services provided by third-partyservice providers and developers to supplement and/or augment theanalytics it inherently provides.

FIG. 3 depicts components of store resources component 310 that can beincluded in services store component 110 or services solutions storecomponent 220 according to various embodiments of the present invention.As shown, store resources listing 310 can include a user interfacehaving a splash page 320. In such embodiments, a splash page 320 can bea web portal or other web-based interface that provides access tosubcomponents of the store resources listing 310. The splash page 320can provide access to a number of categorized applications and services.For example, splash page 320 can include tabs, buttons, hyperlinks orother means for selecting client hosted certified applications 321,GAL/cloud hosted certified applications 323, client hosted noncertifiedapplications 325, GAL/cloud hosted noncertified applications 327, GALsubscription services 329, client subscription services 331, GALreference library 333, GAL code samples 335 and GAL test tools 337.

As shown in FIG. 3, the listing or other selectable representation ofthe individual resources can be clustered or grouped. The groups can beorganized by a number of classifications including, but not limited to,status as certified, noncertified, subscription status or use for GALserver computers and client computers, and utilities. FIG. 3 also showsthat some of the selectable representations can include various options.For example, GAL/cloud hosted certified applications, i.e. thoseapplications or services that have gone through a certification process,can include options such as, source, object only, source code thatallows the client to customize and extend code to specific needs andobject only that cannot be modified. Such options allow users todownload, transfer or otherwise run the available services on theplatform or environment specific to various use and user requirements.The object/platform code 350 can be used as originally provided by theservice provider and source/platform code 355 can be used in acustomized manner.

FIG. 5 shows another example of similar options available fornoncertified applications. As shown, the client hosted noncertified 325category can include options that are the similar to those that arenoncertified.

FIG. 6 shows that the selection of GAL subscription services 329 caninclude a selection of third-party services which can de downloaded andrun on the user's\client's computer or run in a container on gatewayabstraction layer or be called by a gateway abstraction layer. FIG. 7shows that the GAL code sample 335 can also include options to aidthird-party developers in enhancing GAL in connectivity, services,reference documentation, open and closed source code examples and testtools.

FIG. 8 depicts two certification models, certification model 810 andcertification model 830, for checking, testing or approving third-partyservices or applications, for certified and noncertified distributionstyles. Certification model 810 starts at step 811 in which a developercreates a service or application to provide services to one or moreusers. In step 813, the developer can submit the application and requestcertification. The request for certification can include a fee forreview and certification. In step 815, the GAL or services store canconduct a preliminary review, i.e. examine the appropriateness, of theparticular service or application developed by the developer. Step 817can include tests, pen and certification steps which can be performed bythe GAL, the services solution store or a third-party service or servercomputer. In step 819, the service or application can be approved and/orpublished when it passes all or some of the applicable tests orrequirements in step 817. In some embodiments, the service orapplication need not pass all or some of the applicable tests orrequirements before being published to the on the server computer.Publishing the service or application on the server computer can includegenerating a representative or associated icon, identifier ordescription of the service or application. In step 821, revenue fromusing or selling subscriptions to the certified application/service canbe shared per the terms established at the time the application/serviceis submitted for certification.

Certification model 830 also starts with a developer creating a serviceor application in step 831. In step 833, the developer can submit theapplication with a request for non-certification. In some embodiments,the developer can submit the request with a fee. There is a preliminaryreview to check the appropriateness of the application or service instep 835. For non-certification, the application or services can besubmitted to a set of basic tests that can be performed by the servicessolutions store, the GAL or a third-party in step 837. Steps 839 and 841then grant approval and then start sharing revenue as in steps 819 and821. In either certification model 810 or 830, the application orservices can also be disapproved and a report or other message can besent to the developer with or without the reasons the application orservice was rejected.

In various other embodiments, as each application is reviewed and/orapproved, an identifier can be assigned. Each time the application orthe service is invoked, the application identifier can be stamped orotherwise included with the service or transaction request. Similarly,each entity, application, merchant, device, server, item, user, consumeror business partner can also be assigned a unique identifier. As eachtransaction request is initiated, formatted, sent and processed, eachelement that is involved in or handles the transaction request can stampor otherwise amend its unique identifier into the transaction record orrequest message. The combination of the included identifiers can be usedto create a unique token that can be associated with the specificinformation associated with the individual transaction. In someembodiments, less than all of the identifiers can be used to create theunique token. In others, all the identifiers can be used.

Once the token is created, various components in system 100 or 200 canprovide specific transaction data for one or more transactions in ananonymous manner. Similarly, new merchant 925, or another merchant, andGAL gateway 935, or another server or application described below, canrequest and process transaction information based on the tokeninformation. The same token information can be used by multiple entitiesto request and analyze the same or different data associated with aparticular transaction associated with the token. In variousembodiments, the token information can be used to access valuabletransaction related data without sharing the private or proprietaryinformation about the users, consumer, merchants, application or serviceprovider. For example, specific analytics can be applied to determinefraud risks, market opportunities or aspects of loyalty programs. Insome embodiments, various services and applications can be used on thetokenized data to analyze transaction patterns that can be used forvarious reasons.

FIGS. 9-12 show various configurations of systems for processingtransactions that can include various embodiments of the presentinvention. As shown in FIG. 9, shows a system 900 for providing GALhosted applications (services) and subscriptions that are purchasedthrough the services store 110 or storefront 203. The system 900 caninclude a cardholder layer 910, new small business new apps 920, GALlayer 930, acquiring gateway 940 and branded network 950.

Cardholder layer 910 can include the environments in which users cansupply information to conduct or initiate a transaction. For example auser can present a credit card or other portable consumer device to apoint-of-sale or card access device at the merchant 925 in the new smallbusiness new applications layer 920 to initiate a request for a paymenttransaction. The request can then be sent to GAL gateway 935 in GALlayer 930. The request can be sent in a standardized or uniformcommunication protocol to GAL gateway 935. GAL gateway 935 can thentranslate the request from the standardized or uniform communicationprotocol into a format or protocol required by the intended recipient,i.e. a particular payment network in the branded networks layer 950,indicated in the transaction request.

As shown in FIG. 9, GAL gateway 935 can include and runcommon/unmodified application and services subscriptions. In suchembodiments, the ability of the GAL gateway 935 to host applications andservices alleviates the burden on merchants of having to download andrun the application or services on their own equipment, thus reducingthe cost and increasing the efficiency in utilizing numerous services.It also makes the process of changing or updating services faster andless expensive while simultaneously providing a market place fordevelopers to provide/sell new applications and build new businesses.

In various embodiments, the application or services invoked when atransaction request is received can be based on one or more identifiersincluded in the transaction request. For example, the GAL gateway 935can determine based on a particular merchant identifier that aparticular set of financial services or applications should be run andthe results thereof should be forwarded or returned to the requestingmerchant.

FIG. 10 shows a system 1000 for providing GAL hosted applicationspurchased through the services solution store similar to system 900 ofFIG. 9 with the addition of GAL container cloud 937, according variousembodiments of the present invention. In such embodiments, GAL containercloud 937 can run customized application selected in the services store110 in a segmented/compartmentalized manner so that the results onlyeffect the user/subscriber of the particular service or application.

FIG. 11 shows a system 1100 for providing GAL based subscriptionsaccording to various embodiments of the present invention. The system1100 is similar to system 900 in FIG. 9 with the addition of value addthird-party service provider layer 939. In such embodiments, the GALgateway 935 can process calls to third-party service providers in-linewith the transaction requests received from a merchant, card accessdevices or other point-of-sale devices. Before, during or afterprocessing a transaction request received from a merchant, such as newmerchant 925, GAL gateway 935 can make calls to third-party serviceproviders in the value add third parties layer 939. This model can usecalls, such as SaaS calls, to third-party service providers with therequisite information to process the request or invoke one or morethird-party service. In such embodiments, the system 1100, or somecomponent thereof, can update a subscription log, table or record totrack or record the specific services, both downloaded computer readablecode and hosted subscription services. Whenever a user sends a userrequest message for a particular service or computer readable codepackage or segment, the system 1100 can update the record associatedwith the user, the user account, user identifier or user client deviceto record which services the user or the user client device hasdownloaded or to which is has subscribed.

FIG. 12 shows another embodiment of the present implemented in a systemsimilar to system 900. Merchant hosted application and subscriptionsoftware system 1200 shows that new merchant 925 can download and hostapplication (software) purchased and downloaded from the services store110 to utilize services. In such embodiments, the merchant can installor integrate services/applications into their own websites, onlinemarket places, point-of-sale or card access devices. The purchasedapplications can be run in addition to any transaction requestprotocols, routines or applications initiated during a transactionrequest. Such embodiments provide merchants with a greater ability tocontrol, customize and secure their transaction services.

FIG. 13 is a block diagram of typical computer system 1300 configured toexecute computer readable code to implement various functions and stepsaccording to various embodiments of the present invention.

System 1300 is representative of a computer system capable of embodyingthe present invention. It will be readily apparent to one of ordinaryskill in the art that many other hardware and software configurationsare suitable for use with the present invention. For example, thecomputer may be a desktop, portable, rack-mounted or tabletconfiguration. Additionally, the computer may be a series of networkedcomputers. Further, the use of other micro processors are contemplated,such as Xeon™, Pentium™ or Core™ microprocessors; Turion™ 64, Opteron™or Athlon™ microprocessors from Advanced Micro Devices, Inc; and thelike. Further, other types of operating systems are contemplated, suchas Windows®, WindowsXP®, WindowsNT®, or the like from MicrosoftCorporation, Solaris from Sun Microsystems, LINUX, UNIX, and the like.In still other embodiments, the techniques described above may beimplemented upon a chip or an auxiliary processing board. Variousembodiments may be based upon systems provided by daVinci, Pandora,Silicon Color, or other vendors.

In one embodiment, computer system 1300 typically includes a display1310, computer 1320, a keyboard 1330, a user input device 1340, computerinterfaces 1350, and the like. In various embodiments, display (monitor)1310 may be embodied as a CRT display, an LCD display, a plasma display,a direct-projection or rear-projection DLP, a microdisplay, or the like.In various embodiments, display 1310 may be used to display userinterfaces and rendered images.

In various embodiments, user input device 1340 is typically embodied asa computer mouse, a trackball, a track pad, a joystick, wireless remote,drawing tablet, voice command system, and the like. User input device1340 typically allows a user to select objects, icons, text and the likethat appear on the display 1310 via a command such as a click of abutton or the like. An additional specialized user input device 1345,such a magnetic stripe, RFID transceiver or smart card reader may alsobe provided in various embodiments. In other embodiments, user inputdevice 1345 include additional computer system displays (e.g. multiplemonitors). Further user input device 1345 may be implemented as one ormore graphical user interfaces on such a display.

Embodiments of computer interfaces 1350 typically include an Ethernetcard, a modem (telephone, satellite, cable, ISDN), (asynchronous)digital subscriber line (DSL) unit, FireWire interface, USB interface,and the like. For example, computer interfaces 1350 may be coupled to acomputer network, to a FireWire bus, or the like. In other embodiments,computer interfaces 1350 may be physically integrated on the motherboardof computer 1320, may be a software program, such as soft DSL, or thelike.

RAM 1370 and disk drive 1380 are examples of computer-readable tangiblemedia configured to store data such user data, account data, merchantdata, third-party service provider data, payment network data,abstraction layer databases and look-up tables and other executablecomputer code, human readable code, or the like. Other types of tangiblemedia include magnetic storage media such as floppy disks, networkedhard disks, or removable hard disks; optical storage media such asCD-ROMS, DVDs, holographic memories, or bar codes; semiconductor mediasuch as flash memories, read-only-memories (ROMS); battery-backedvolatile memories; networked storage devices, and the like.

In the present embodiment, computer system 1300 may also includesoftware that enables communications over a network such as the HTTP,TCP/IP, RTP/RTSP protocols, and the like. In alternative embodiments ofthe present invention, other communications software and transferprotocols may also be used, for example IPX, UDP or the like.

In various embodiments, computer 1320 typically includes familiarcomputer components such as a processor 1360, and memory storagedevices, such as a random access memory (RAM) 1370, disk drives 1380,and system bus 1390 interconnecting the above components.

In some embodiments, computer 1320 includes one or more Xeonmicroprocessors from Intel. Further, in the present embodiment, computer1320 typically includes a UNIX-based operating system.

It should be understood that embodiments of the present invention asdescribed above can be implemented in the form of control logic usingcomputer software in a modular or integrated manner. Based on thedisclosure and teachings provided herein, a person of ordinary skill inthe art will know and appreciate other ways and/or methods to implementthe present invention using hardware and a combination of hardware andsoftware

Any of the software components or functions described in thisapplication, may be implemented as software code to be executed by aprocessor using any suitable computer language such as, for example,Java, C++ or Perl using, for example, conventional or object-orientedtechniques. The software code may be stored as a series of instructions,or commands on a computer readable medium, such as a random accessmemory (RAM), a read only memory (ROM), a magnetic medium such as ahard-drive or a floppy disk, or an optical medium such as a CD-ROM. Anysuch non-transitory computer readable medium may reside on or within asingle computational apparatus, and may be present on or withindifferent computational apparatuses within a system or network.

The above description is illustrative and is not restrictive. Manyvariations of the invention will become apparent to those skilled in theart upon review of the disclosure. The scope of the invention should,therefore, be determined not with reference to the above description,but instead should be determined with reference to the pending claimsalong with their full scope or equivalents.

One or more features from any embodiment may be combined with one ormore features of any other embodiment without departing from the scopeof the invention.

A recitation of “a”, “an” or “the” is intended to mean “one or more”unless specifically indicated to the contrary.

What is claimed is:
 1. A method for providing a custom service marketcomprising: publishing computer readable code received from a serviceprovider along with a plurality of other computer readable code receivedfrom a plurality of other service providers on a financial servicesstore interface on a server computer, wherein representations of theplurality of the published computer readable code from the serviceproviders are provided for display on a user client device to enablebrowsing and selection of services from the service providers based onthe displayed representations of the published computer readable code,and wherein a service request message is generated in response toselection of one of the displayed representations of the publishedcomputer readable code displayed on the user client device; receiving atthe server computer over a user interface provided by the servercomputer the service request message from the user client device; andexecuting computer readable code corresponding to the selectedrepresentation using the server computer to provide a service inresponse to the service request message, wherein executing the computerreadable code corresponding to the selected representation compriseshosting the service on the server computer, wherein the service isprovided in response to the service request message, and wherein thecomputer readable code corresponding to the selected representation isexecuted on the server computer using a call to one or more third-partyservice providers of the plurality of service providers to invoke one ormore third-party services; and wherein the server computer processescalls to the one or more third-party service providers that are in-linewith transaction requests.
 2. The method of claim 1 further comprising:converting the service request message from a first format to a secondelectronic format using the server after receiving the service requestmessage.
 3. The method of claim 1 further comprising: downloading, inresponse to the received service request message, the computer readablecode corresponding to the selected representation from the servercomputer to the user client device.
 4. The method of claim 3 furthercomprising converting the computer readable code corresponding to theselected representation from a third electronic format to a fourthelectronic format before transmitting the computer readable codecorresponding to the selected representation from the server computer tothe user client device.
 5. The method of claim 3 further comprisingcharging a user of the user client device on a per-use or subscriptionbasis in response to the service request message.
 6. The method of claim1 further comprising charging a user of the user client device on aper-use or subscription basis in response to the service requestmessage.
 7. A system for providing a custom service market comprising: aserver computer comprising: a processor; a first network interfacecoupled to the processor; a second network interface coupled to theprocessor; and a memory coupled to the processor, wherein the memorycomprises computer readable instructions that when executed by theprocessor performs a method for facilitating a custom service market,wherein the method comprises: publishing computer readable code receivedfrom a service provider along with a plurality of other computerreadable code received from a plurality of other service providers on afinancial services store interface on the server computer, whereinrepresentations of the plurality of the published computer readable codefrom the service providers are provided for display on a user clientdevice to enable browsing and selection of services from the serviceproviders based on the displayed representations of the publishedcomputer readable code, and wherein a service request message isgenerated in response to selection of one of the displayedrepresentations of the published computer readable code displayed on theuser client device; receiving at the server computer over a userinterface provided by the server computer the service request messagefrom the user client device; and executing computer readable codecorresponding to the selected representation using the server computerto provide a service in response to the service request message, whereinexecuting the computer readable code corresponding to the selectedrepresentation comprises hosting the service on the server computer,wherein the service is provided in response to the service requestmessage, wherein the computer readable code corresponding to theselected representation is executed on the server computer using a callto one or more third-party service providers of the plurality of serviceproviders to invoke one or more third-party services; and wherein theserver computer processes calls to the one or more third-party serviceproviders that are in-line with transaction requests.
 8. The system ofclaim 7 wherein the memory further comprises computer readableinstructions for downloading, in response to the received servicerequest message, the computer readable code corresponding to theselected representation to the user client device over the secondnetwork interface.
 9. The system of claim 7 wherein the memory furthercomprises computer readable instructions for converting the computerreadable code corresponding to the selected representation from a thirdelectronic format to a fourth electronic format before transmitting thecomputer readable code corresponding to the selected representation tothe user client device.
 10. The system of claim 9 wherein the memoryfurther comprises computer readable instructions for charging a user ofthe user client device on a per-use or subscription basis in response tothe service request message.
 11. The system of claim 7 wherein thememory further comprises computer readable instructions for charging auser of the user client device on a per-use or subscription basis inresponse to the service request message.
 12. A method comprising:transmitting, by a user computer device, a service request message to aserver computer, wherein the server computer publishes computer readablecode received from a service provider along with other computer readablecode received from other service providers on a financial services storeinterface on the server computer, and wherein the service requestmessage requests that services be provided by the service providersin-line with transaction requests from the user client device or anotheruser client device; and transmitting, by the user client device or theanother user client device, a transaction request to the servercomputer, wherein the server computer processes calls to one or more ofthe service providers to apply the services that are in line with thetransaction request.
 13. The method of claim 12 wherein the servercomputer converts the service request message from a first format to asecond format.
 14. The method of claim 12 wherein the transactionrequest is an authorization request message associated with a credit ordebit card transaction.
 15. A client system comprising: a processor; anda computer readable medium coupled to the processor, the computerreadable medium comprising code, executable by the processor forimplementing a method comprising transmitting, by the user computerdevice, a service request message to a server computer, wherein theserver computer publishes computer readable code received from a serviceprovider along with other computer readable code received from otherservice providers on a financial services store interface on the servercomputer, and wherein the service request message requests that servicesbe provided by the service providers in-line with transaction requestsfrom the user client device or another user client device, andtransmitting, by the user client device or the another user clientdevice, a transaction request to the server computer, wherein the servercomputer processes calls to one or more of the service providers toapply the services that are in line with the transaction request. 16.The client system of claim 15 wherein the server computer converts theservice request message from a first format to a second format
 17. Theclient system of claim 15 wherein the transaction request is anauthorization request message associated with a credit or debit cardtransaction.